const Ws = require('ws');

;((Ws) => {

  const server = new Ws.Server({ port: 8000 });

  const init = () => {
    bindEvent();
  }

  function bindEvent() {
    server.on('open', handleOpen);
    server.on('close', handleClose);
    server.on('error', handleError);
    server.on('connection', handleConnection);
  }

  function handleOpen() {
    console.log('Websocket open');
  }

  function handleClose() {
    console.log('Websocket close');
  }

  function handleError() {
    console.log('Websocket error');
  }

  function handleConnection(ws) {
    console.log('WebSocket connected');

    ws.on('message', handleMessage);
  }

  function handleMessage(msg) {
    // console.log('前端发送的消息', msg.toString());

    server.clients.forEach(c => {
      c.send(msg.toString());
    })
  }

  init();
})(Ws);